
#ifndef __SKELETON_MATCHER_H__
#define __SKELETON_MATCHER_H__

#include <vector>
#include "gskeleton.h"

using namespace std;

class SkeletonsMatcher {
   
public:
   SkeletonsMatcher();
   SkeletonsMatcher(const SkeletonsMatcher&);
   SkeletonsMatcher(GSkeleton *g, GSkeleton *u);
   
   void genBranchesRelation();
   void fitBranches();
   
private:
   
   
public:
//private:
   GSkeleton               *gskel;
   GSkeleton               *uskel;
   
   vector<vector<int> >     gbranches; // geometric skeleton
   vector<vector<int> >     ubranches; // automatic skeleton
   
   vector<Point3>           joints; // used only for debugging purposes (branches drawing)
};

#endif 
